A Understanding JavaScript Event-Based Interactions with Clematis

نویسندگان

  • SABA ALIMADADI
  • SHELDON SEQUEIRA
  • ALI MESBAH
چکیده

Web applications have become one of the fastest growing types of software systems today. Despite their popularity, understanding the behaviour of modern web applications is still a challenging endeavour for developers during development and maintenance tasks. The challenges mainly stem from the dynamic, eventdriven, and asynchronous nature of the JavaScript language. We propose a generic technique for capturing low-level event-based interactions in a web application and mapping those to a higher-level behavioural model. This model is then transformed into an interactive visualization, representing episodes of triggered causal and temporal events, related JavaScript code executions, and their impact on the dynamic DOM state. Our approach, implemented in a tool called CLEMATIS, allows developers to easily understand the complex dynamic behaviour of their application at three different semantic levels of granularity. Furthermore, CLEMATIS helps developers bridge the gap between test cases and program code by localizing the fault related to a test assertion. The results of our industrial controlled experiment show that CLEMATIS is capable of improving the comprehension task accuracy by 157%, while reducing the task completion time by 47%. A follow up experiment reveals that CLEMATIS improves the fault localization accuracy of developers by a factor of two.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Finding and Emulating Keyboard, Mouse, and Touch Interactions and Gestures while Crawling RIA's

Crawling JavaScript heavy Rich Internet Applications has been a hot topic in recent years, giving us automated tools for indexing content, test generation, and securityand accessibility evaluation to mention a few examples. However, existing crawling techniques tend to ignore user interactions beyond mouse clicking, and therefore often fail to consider potential mouse, keyboard and touch intera...

متن کامل

Live Programming for Event-Based Languages Short Paper

Live programming environments assist programmers by allowing code edits to running programs, providing continuous feedback and potentially even traveling back in time to past execution states. Event-based languages like JavaScript facilitate these features, but the entanglement of code, state and output still hinders live programming. This paper shows how hot swapping, time travel and continuou...

متن کامل

Debugging Event-Driven Programming

The importance of the event-driven programming (EDP) paradigm is on the rise. While EDP has been been common in client-side applications since around 2000 (e.g. GUI development, JavaScript-driven web pages), it has only recently entered the mainstream in the settings of mobile computing (Android, 2008 [15]) and server-side programming (Node.js, 2009 [18]). The EDP paradigm is also a natural way...

متن کامل

Analysis of the mating-type loci of co-occurring and phylogenetically related species of Ascochyta and Phoma.

Ascochyta and Phoma are fungal genera containing several important plant pathogenic species. These genera are morphologically similar, and recent molecular studies performed to unravel their phylogeny have resulted in the establishment of several new genera within the newly erected Didymellaceae family. An analysis of the structure of fungal mating-type genes can contribute to a better understa...

متن کامل

Investigating the Evolvability of Web Page Load Time

Client-side Javascript execution environments (browsers) allow anonymous functions and event-based programming concepts such as callbacks. We investigate whether a mutate-and-test approach can be used to optimise web page load time in these environments. First, we characterise a web page load issue in a benchmark web page and derive performance metrics from page load event traces. We parse Java...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016